#ifndef __GCSTOR_H
#define __GCSTOR_H

#include "onlinestor.h"

class SNDAECSHandler;

class GCStorage : public OnlineStorage {
public:
	GCStorage();
	virtual int connect();
	virtual void disconnect();
	virtual int get(const char* pathname,char* buffer,size_t size);
	virtual int put(const char* pathname,const char* buffer,size_t size);
	virtual int del(const char* pathname);
	virtual int mkdir(const char* path,const char* name);
	virtual int rmdir(const char* path,const char* name);
	virtual struct NetFile* lsdir(const char* path,OUT int* size /* numbner of struct NetFile */);
	virtual int move(const char* oldPath,const char* newPath);
	virtual int freespace();
	virtual int init();
	virtual int destroy();
private:
	bool connected;
	SNDAECSHandler* handler;
};

#endif